<?php
/**
 * Copyright (c) 2018,2345
 * 摘    要：模板类
 * 作    者：林幸亿
 * 修改日期：2018.04.20
 */

/*
 * 参考网址
 * https://www.smashingmagazine.com/2011/10/getting-started-with-php-templating/
 * https://code.tutsplus.com/tutorials/roll-your-own-templating-system-in-php--net-16596
 */

class TemplateView
{

    protected $template_dir = 'templates/';
    protected $vars = array();

    /**
    * 修改日期：2018-4-20
    * 
    * @param string $template_dir
    */
    public function __construct($template_dir = null) 
    {
        if ($template_dir !== null)
        {
            // Check here whether this directory really exists
            $this->template_dir = $template_dir;
        }
    }

    /**
     * 功    能：To include the template and display on webpage
     * 修改日期：2018-4-20
     *
     * @param string $sql 
     * @param array $array
     * @return exception
     */
    public function render($template_file)
    {
        if (file_exists($this->template_dir . $template_file))
        {
            require_once $this->template_dir . $template_file;
        }
        else
        {
            throw new Exception('No template file ' . $template_file . ' present in directory ' . $this->template_dir);
        }
    }

    /**
     * 功    能：To set the value to the template variable
     * 修改日期：2018-4-20
     *
     * @param string $name
     * @param string $value
     */
    public function __set($name, $value)
    {
        $this->vars[$name] = $value;
    }

    /**
     * 功    能：To get the value to the template variable
     * 修改日期：2018-4-20
     *
     * @param string $name
     * @param string $value
     */
    public function __get($name)
    {
        return $this->vars[$name];
    }

}

?>